fix(keyboard): 统一各键盘布局中的滑动气泡状态管理 - #758
Merged
Merged
Conversation
将CommonSymbolKeyboardLayout、KeyboardLayout、NumberKeyboardLayout、 StrokeKeyboardLayout和T9KeyboardLayout中的滑动气泡状态管理重构为统一的 SwipeBubbleController实现,避免多个mutableState变量的状态不一致问题, 并添加气泡抬起后短暂滞留的用户体验优化逻辑。 feat(SwipeBubble): 新增滑动气泡控制器支持按压后短暂滞留 实现SwipeBubbleController类封装气泡状态管理逻辑,支持按压气泡抬起后 短暂滞留60毫秒再消失,提升快速连打时的用户体验,同时确保滑动和长按 操作的气泡能够立即响应新的手势操作。 fix(XimeInputMethodService): 修复键盘insets计算重入问题导致的循环叠加 当forceInsetsRecompute方法在执行过程中被重复调用时,可能导致+1dp操作反复叠加, 造成键盘底部被持续垫高的问题(2.7.0用户反馈)。添加insetsRecomputePending标志防止重入, 并在高度重新计算完成后正确重置状态。
- 将BubbleHeightDown从36dp增加到40dp - 将文本大小从14sp增加到16sp - 将选中状态字体大小从18sp增加到20sp - 添加粗体文字效果以提高可读性 - 更新librime-lua-deps子模块
尖端完整覆盖按下的按键(与按键同高),宽体锚定按键顶部悬在上方, 全部基于真实按键 bounds 计算,不再用 KeyHeight 估算值—— 键盘高度被调大时估算失准,宽体会下沉进按键被手指挡住。 宽体(显示文字的主体)底部对齐按键顶部,悬在按键正上方不被手指遮挡; 尖端从宽体底部向下延伸 pointerHeightPx(≈按键上半部)指示归属键。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
将CommonSymbolKeyboardLayout、KeyboardLayout、NumberKeyboardLayout、 StrokeKeyboardLayout和T9KeyboardLayout中的滑动气泡状态管理重构为统一的 SwipeBubbleController实现,避免多个mutableState变量的状态不一致问题, 并添加气泡抬起后短暂滞留的用户体验优化逻辑。
feat(SwipeBubble): 新增滑动气泡控制器支持按压后短暂滞留
实现SwipeBubbleController类封装气泡状态管理逻辑,支持按压气泡抬起后
短暂滞留60毫秒再消失,提升快速连打时的用户体验,同时确保滑动和长按
操作的气泡能够立即响应新的手势操作。
fix(XimeInputMethodService): 修复键盘insets计算重入问题导致的循环叠加
当forceInsetsRecompute方法在执行过程中被重复调用时,可能导致+1dp操作反复叠加, 造成键盘底部被持续垫高的问题(2.7.0用户反馈)。添加insetsRecomputePending标志防止重入, 并在高度重新计算完成后正确重置状态。
概述
简要描述此 PR 的目的和改动内容。
关联 Issue
Closes #(填写关联 issue 号)
改动类型
自测清单
./gradlew test并通过备注
补充说明(如有)。